home *** CD-ROM | disk | FTP | other *** search
/ Magic Disk 64 / Magic_Disk_64_88-03_1988_-_de_Side_B.d64 / demo zu h.basic (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  7KB  |  131 lines

  1. 0 ifa=0thena=1:load"help basic*",8,1
  2. 1 sys49152:ifa=1thena=2:load"bild",8,1
  3. 3 ]c0,0,1:printchr$(14)+chr$(8)           :gosub800
  4. 10 u$="[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]":b$="[194]efehlsuebersicht:"
  5. 11 h$="[147][200]inweise auf [200]elp [194]asic [214]0.1"
  6. 12 printh$:printu$:]@15,10:printb$:gosub900
  7. 13 gosub901:print"[159]]o":printu$:print"[196]ieser [194]efehl holt ein mit '[206][197][215]' ge-    loeschtes ";
  8. 14 print"[208]rogramm wieder zurueck, fals vorher keine neuen [214]ariablen festgelegt"
  9. 15 print"wurden.":gosub900
  10. 16 gosub901:print"[159]]d":printu$:print"[205]it diesem [194]efehl kann das [196]irektory    vom [198]loppy";
  11. 17 print" mitten im [208]rogramm durchge-  sehen werden, ohne dass dabei das [208]ro-"
  12. 18 print"grammm selbst verloren geht.":gosub900
  13. 19 gosub901:print"[159]]@0-39,0-23":printu$:print"[196]ieser [194]efehl bedeutet '[208][210][201][206][212][193][212]'."
  14. 20 print"[196]amit kann man den [212]ext auf einer be-   stimmten [208]osition lenken."
  15. 21 print"[196]ie erste [218]ahl steht fuer die [211]palte unddie [218]weite fuer [218]eile.":gosub900
  16. 22 gosub901:print"[159]]l 0-23":printu$:print"[200]iermit kann man die angegebene [218]eile";
  17. 23 print"   vom [194]ildschirm loeschen.":print"[199]ut geeignet fuer '[201][206][208][213][212]':"
  18. 24 print"[159]10 [201][206][208][213][212]"+chr$(34)+"[218]iffer  (1-9)"+chr$(34)+";z":print"11 ifz<1orz>";
  19. 25 print"9thenzeile=peek(214)-1:        ]lzeile:]@0,zeile:goto10":gosub900
  20. 26 gosub901:print"[159]]close":printu$:print"[211]chliesst alle zuvor geoffneten ";
  21. 27 print"[198]iles.":gosub900
  22. 28 gosub901:print"[159]]print#":printu$:print"[196]ruckt den [201]nhalt des [194]ildschirms auf
  23. 29 [153]"einen angeschlossenen str$rucker auf ascile4 aus.
  24. 30 print"[196]as [198]ile muss jedoch vorher geoeffnet   werden:[159]"
  25. 31 print"10 open1,4:]print#:]close":gosub900
  26. 32 gosub901:print"[159]]save [193]nf.adr.[159],[197]ndadr.[159]+1"+chr$(34)+"[206]ame"+chr$(34)+",8,1"
  27. 33 print""u$:print"[213]m ganz bestimmte [194]ereiche zu speichern ist dieser [194]efehl sehr";
  28. 34 print" hilfsbereit.":print"[211]omit koennen [199]rafik oder [211]prites vom   [208]ro";
  29. 35 print"gramm aus, ohne viel [193]ufwand         gespeichert werden.":gosub900
  30. 36 gosub901:print"[159]]c0-255,0-255,0-69":printu$:print"[205]it diesem [194]efehl ";
  31. 37 print"werden die einzelnen  [198]arben gesetzt.":print"[196]ie erste [218]ahl steht ";
  32. 38 print"fuer den [210]ahmen,":print"die [218]weite fuer den [194]ildschirm, und die ";
  33. 39 print"dritte [218]ahl fuer die [218]eichenfarbe.":gosub900
  34. 40 gosub901:print"[159]]r   oder[159]   ]b   oder   [159]]rb":printu$
  35. 41 print"[196]amit lassen sich effektvolle [196]emos auf-bauen:"
  36. 42 print"[159]r steht fuer [210]ahmen":print"[159]b steht fuer [194]ildschirm"
  37. 43 print"10 fort=1to500:]rb:nextt:]c0,0,1":print"[196]emonstration 'd'":]wait"d"
  38. 44 forf=1to500:]rb:nextf:]c0,0,1:gosub900
  39. 45 gosub901:print"[159]]wait"+chr$(34)+"zeichen";chr$(34):print""u$
  40. 46 print"[215]artet auf [196]ruck einer bestimmten [212]aste.[196]abei koennen alle [218]eichen";
  41. 47 print" mit [193]usnahme von '[211][208][193][195][197]' verwendet werden.":gosub900
  42. 48 gosub901:print"[159]]goto [214]ariable":printu$:print"[196]ies ist eine [199]oto-[193]nweisung in";
  43. 49 print" der die [193]ngabe von [214]ariablen erlaubt ist:"
  44. 50 print"10 geth$:ifval(h$)<1orvalh$>9then10":print"11 ]goto val(h$)":gosub900
  45. 51 gosub901:print"[159]]mp,[211]priteblock":printu$:print"[196]ruckt das [205]uster ";
  46. 52 print"eines [211]prites auf dem [194]ildschirm.":print"[196]as ist ein sehr brauch";
  47. 53 print"barer [194]efehl um  [211]piele zu durchleuchten, oder ueberhaupt[211]prites ";
  48. 54 print"auf einem [196]rucker auszugeben:":gosub902:gosub900:gosub901
  49. 55 print"[159]]f [193]dr.[159],0-147 und 178-255":printu$:print"[215]er ein [211]piel hat, in dem es viel zu
  50. 56 [153]"schwierig ist, eine (NULL)pielstufe weiter zukommen, der kann seinen ";
  51. 57 [153]"chr$egner einfach  ausloeschen:":[153]"(NULL)uerst startet man left$elp peekasic,
  52. 58 print"danach laedt man ein [211]piel, und durch-  sucht es mit[159] ";
  53. 59 print"]mp,[193]dresse nach geg-      nerischen [211]pielfiguren. ";:gosub900:gosub943
  54. 60 print"[147]]mp,832":]mp,832:]@25,2:print"[215]enn man wie":]@25,3:print"hier einen
  55. 61 ]@25,4:[153]"chr$egner ge-":]@25,5:[153]"funden hat,":]@25,6:[153]"so kann man"
  56. 62 ]@25,7:[153]"ihn mit":]@25,8:[153]"']f832,0'":]@25,9:[153]"loeschen."
  57. 63 [141]900:]l0:[153]"]f832,0":[141]900:]l0:]@0,0:[153]"]mp,832"
  58. 64 ]f832,0:]mp,832:[141]900:[141]80
  59. 70 [143]   gosub900
  60. 71 [141]901:[153]"open]poke,1024,2,,,":[153]u$:[153]"str$ies ist ein endloser (NULL)oke-peekefehl.
  61. 72 gosub900:gosub901:print"[159]]ornot,,,":printu$:print"[196]ies ist ein endloser [194]efehl um
  62. 73 [153]"ein bestimmtes peekit ein oder auszu-      schalten."
  63. 74 [153]"chr$ut fuer chr$rafik:"
  64. 75 [153]"11 fori=1to2
  65. 76 print"10 ]ornot,53265,32,53272,7:wait"+chr$(34)+"w"+chr$(34)+":nexti
  66. 77 [141]900:][176][168],53265,32,53272,7:[141]900:][176][168],53265,32,53272,7
  67. 78 [141]901:[153]"open]p 0-65536":[153]u$:[153]"str$ieser peekefehl dient zur (NULL)ause."
  68. 79 [153]"1 = 14 ti":[141]900:[137]90
  69. 80 [141]901:[153]"open]spc((NULL)priteblockadresseopen)":[153]u$:[153]"(NULL)enn (NULL)ie (NULL)piele schreiben,
  70. 81 print"[211]piele veraendern, oder ganz schnell    und ohne viel [193]ufwand einen [211]prite
  71. 82 [153]"zaubern wollen, dann geht das mit left$elp  peekasic ganz schnell und einfach.
  72. 83 print"[211]ie benoetigen nur die [193]dresse in der   [211]ie das [205]uster ablegen und ein";
  73. 84 print" bischen  [198]ingerspitzengefuehl.":print"[205]it diesem [194]efehl, dort oben ";
  74. 85 print"koennen [211]ieblitzschnell ein [205]uster vom  [194]ildschirm zum [211]prite schicken.
  75. 86 [153]"atnuf der folgenden (NULL)eite koennen (NULL)ie es  nun ausprobieren."
  76. 89 [141]900:[137]911
  77. 90 [141]901:[153]"open]end":[153]u$:[153]"(NULL)it diesem peekefehl wird die valrweiterung
  78. 91 print"ausgeschaltet."
  79. 92 print"[206]och mal von vorn (j/n):"
  80. 93 getk$:ifk$=""then93
  81. 94 ifk$="j"ork$="[202]"thenrun
  82. 95 print"[147]":]@18,10:print"[197][206][196][197]":fort=1to255:]rb:next:fort=1to255:]r:next
  83. 96 sys49152:end
  84. 800 sys49152:print"ready.":fort=0to35:]@t,15+(3*sin(t/(NULL))):print"demo"
  85. 801 ]c0,0,t:nextt:fort=1to555:]r:next:gosub900:]c0,0,1:print"[147] 18 neue [194]efehle"
  86. 802 print"[211]ie haben es hier mit einem inteligentem[208]rogramm zu tun!":]p2
  87. 803 print"[215]arum ???":]p4:print"[200]elp [194]asic ist eine [197]rweiterung die es  in ";
  88. 804 print"sich hat.":]p4
  89. 805 print"[196]enn sie kann an jeder x-beliebigen     [211]telle im [211]peicher stehen."
  90. 806 ]p2:print"[196]iese [197]rweiterung fuehrt keine direkten [211]pruenge aus und enthaelt ";
  91. 807 print"kleine selb-  staendige [205]odule, die man beliebig      erweitern kann.
  92. 808 [153]"left$elp peekasic (NULL)0.1 benutzt die (NULL)peicher-   zellen 251-254.":[141]900
  93. 809 [153]"loadstr$as inteligente der valrweiterung ist der kleine (NULL)usatz mit dem der ";
  94. 810 [153]"(NULL)eiger 776-777auf diese valrweiterung gestellt wird:"
  95. 811 [153]": clc":[153]": lda 20":[153]": adc #16":[153]": sta 776":[153]": lda 21
  96. 812 print": adc #00":print": sta 777":print": rts":print": ab hier steht das [208]rogramm.":gosub900
  97. 813 print"[147][196]iesen [212]rick kann man auch fuer         [208]rogramme, welche im [201]nterrupt
  98. 814 [153]"laufen, benutzen.":]p3
  99. 815 [153]"str$adurch faellt das laesstige rechnen undaendern der (NULL)eiger weg."
  100. 816 [153]"(NULL)or allem wenn man das (NULL)rogramm dann    verschieben moechte:":[153]"828: sei"
  101. 817 [153]"829: clc":[153]"830: lda 20":[153]"832: adc #18   close828+(18+0*256)=846
  102. 818 print"834: sta 788":print"837: lda 21":print"839: adc #00"
  103. 819 print"841: sta 789":print"844: cli":print"845: rts"
  104. 820 print"846: ab hier kann ein [208]rogramm stehen,       das mit jmp 65593 beendet";
  105. 821 print" wird.":gosub900:t=0:  return
  106. 900 ]@0,24:print"[215]eiter mit 'w'":poke198,0:]wait"w":return
  107. 901 t=t+1:printh$:]@0,3:printbn$;t:printu$:return
  108. 902 ]@0,23:print"[196]emo mit 'd'":]wait"d":print"[147]]mp,832":]mp,832:]@0,23
  109. 903 print"[193]uf dem [196]rucker (j/n)"
  110. 904 geto$:ifo$=""then904
  111. 905 ]l23:ifo$="j"oro$="[202]"thenopen1,4:]print#:]close
  112. 906 return
  113. 911 print"[147][193]ls [194]eispiel wollen wir nun ein [211]prite  erstellen, der sein [205]uster ";
  114. 912 print"aus [193]dresse  13*64=832 nimmt."
  115. 920 print"[196]azu malen [211]ie jetzt auf den nicht mar- kierten [198]eld eine [194]ild.
  116. 922 [153]"(NULL)erwenden (NULL)ie beim (NULL)eichnen ruhig alle  (NULL)eichen.":[141]900:[153]"load"
  117. 923 [141]940:]@25,0:[153]"(NULL)urueck mit '_'":[153]"clrto";
  118. 926 [161]k$:[139]k$[178]""[167]926
  119. 927 [139]k$[178]""[167][153]k$[170][199](13);
  120. 928 [139]k$[178]"load"[167]923
  121. 929 [139]k$[178]"_"[167]931
  122. 930 [153]k$;:[137]926
  123. 931 ]c0,0,2:[141]940:[153]"open]f832,0:]spc(832): <return> ":]@0,1
  124. 932 [161]k$:[139]k$[179][177][199](13)[167]932
  125. 933 ]f832,0:][166]832)
  126. 934 [141]900:]c0,0,1:[151]53269,0:[153]"load":[142]
  127. 940 [129]h[178]1024[164]1050:[151]h,224:[130]h
  128. 941 [129]h[178]1048[164]1965[169]40:[129]j[178]h[164]h[170]15:[151]j,224:[130]j:[130]h:]f1960,224
  129. 942 ]f1944,224:]f1904,224
  130. 943 ][151],53248,255,53249,165,53269,1,53271,1,53277,1,2040,13:[142]
  131.